Methods and systems for 3d animation

ABSTRACT

A system for 3-dimensional animation includes a computer apparatus, a means for display in communication with the computer apparatus, and a means for storage in communication with the computer apparatus. The means for storage is disposed to store data representing a 3D animation, the means for display is disposed to display a representation of the 3D animation, and the computer apparatus is configured to perform a method of 3D animation. The method includes setting an inter-axial distance between logical representations of two cameras, the inter-axial distance being configured to produce a desired 3D effect for a target audience, and creating a stereoscopic frame set representing the 3D animation using the logical representations of the two cameras.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority under 35 U.S.C. 119 to U.S. ProvisionalApplication Ser. No. 61/360,484, entitled “METHODS AND SYSTEMS FOR3-DIMENSIONAL ANIMATION” filed on Jun. 30, 2010, the entire contents ofwhich are hereby incorporated by reference herein. Furthermore, Thisapplication is related to co-pending U.S. patent application Ser. No.______, identified as Attorney Docket No. CA2010005949, entitled“METHODS AND SYSTEMS FOR 3-DIMENSIONAL ANIMATION”, filed on Jun. 30,2011, the entire contents of which are hereby incorporated by referenceherein.

TECHNICAL FIELD

The present invention is generally related to computer animation. Moreparticularly, example embodiments of the present invention are directedto methods and systems for providing three-dimensional (3D) animation.

BACKGROUND OF THE INVENTION

Conventionally, motion picture production includes recording live-actionfootage and preparation of the footage for distribution. In contrast,conventional computer animation includes complex modeling of physicalrepresentations of objects/characters to be recorded,computer-interpretation of those models, and frame-by-frame rendering ofmovements of those models to mimic live-action recording of conventionalmovies. Thereafter, background features are added and post-processingmay occur to render sharp detail.

To achieve 3D animation tasks are inherently more complex and there is aneed in the art to provide methods and systems for 3D animation whichreduce the complexity of animation while also increasing final quality.

SUMMARY

According to an example embodiment of the present invention, a systemfor 3-dimensional animation includes a computer apparatus, a means fordisplay in communication with the computer apparatus, and a means forstorage in communication with the computer apparatus. The means forstorage is disposed to store data representing a 3D animation, the meansfor display is disposed to display a representation of the 3D animation,and the computer apparatus is configured to perform a method of 3Danimation. The method includes setting an inter-axial distance betweenlogical representations of two cameras, the inter-axial distance beingconfigured to produce a desired 3D effect for a target audience, andcreating a stereoscopic frame set representing the 3D animation usingthe logical representations of the two cameras.

According to an example embodiment of the present invention, a methodfor 3D animation includes setting an inter-axial distance betweenlogical representations of two cameras at a computer system, theinter-axial distance being configured to produce a desired 3D effect fora target audience, and creating a stereoscopic frame set representingthe 3D animation using the logical representations of the two cameras

According to yet another example embodiment of the present invention, acomputer program product for 3D animation includes a tangible storagemedium readable by a computer processor and storing instructions thereonthat, when executed by the computer processor, direct the computerprocessor to perform a method. The method includes setting aninter-axial distance between logical representations of two cameras at acomputer system, the inter-axial distance being configured to produce adesired 3D effect for a target audience, and creating a stereoscopicframe set representing the 3D animation using the logicalrepresentations of the two cameras.

Additional features and advantages are realized through the techniquesof the present invention. Other embodiments and aspects of the inventionare described in detail herein and are considered a part of the claimedinvention. For a better understanding of the invention with advantagesand features, refer to the description and to the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the invention can be better understood with reference tothe following drawings. The components in the drawings are notnecessarily to scale, emphasis instead being placed upon clearlyillustrating the principles of the present invention. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views. Furthermore, each drawing contained inthis provisional application includes at least a brief descriptionthereon and associated text labels further describing associateddetails. The figures:

FIG. 1 depicts a method for 3D animation, according to exampleembodiments;

FIG. 2 depicts a system for 3D animation, according to exampleembodiments;

FIG. 3 depicts a method for 3D animation, according to exampleembodiments;

FIG. 4 depicts a virtual stereoscopic camera rig for 3D animation,according to example embodiments;

FIG. 5 depicts a virtual stereoscopic camera rig for 3D animation,according to example embodiments;

FIG. 6 depicts a method for 3D animation, according to exampleembodiments;

FIG. 7 depicts a method for 3D animation, according to exampleembodiments;

FIG. 8 depicts a method for 3D animation, according to exampleembodiments;

FIG. 9 depicts a virtual stereoscopic camera multi-rig for 3D animation,according to example embodiments;

FIG. 10 depicts a method for 3D animation, according to exampleembodiments;

FIG. 11 depicts a method for 3D animation, according to exampleembodiments;

FIG. 12 depicts a system for 3D animation, according to exampleembodiments;

FIG. 13 depicts a computer apparatus, according to example embodiments;and

FIG. 14 depicts a computer program product, according to exampleembodiments.

DETAILED DESCRIPTION

Further to the brief description provided above and associated textualdetail of each of the figures, the following description providesadditional details of example embodiments of the present invention.

Detailed illustrative embodiments are disclosed herein. However,specific functional details disclosed herein are merely representativefor purposes of describing example embodiments. Example embodiments may,however, be embodied in many alternate forms and should not be construedas limited to only the embodiments set forth herein.

Accordingly, while example embodiments are capable of variousmodifications and alternative forms, embodiments thereof are shown byway of example in the drawings and will herein be described in detail.It should be understood, however, that there is no intent to limitexample embodiments to the particular forms disclosed, but to thecontrary, example embodiments are to cover all modifications,equivalents, and alternatives falling within the scope of exampleembodiments.

It will be understood that, although the terms first, second, etc. maybe used herein to describe various steps or calculations, these steps orcalculations should not be limited by these terms. These terms are onlyused to distinguish one step or calculation from another. For example, afirst calculation could be termed a second calculation, and, similarly,a second step could be termed a first step, without departing from thescope of this disclosure. As used herein, the term “and/or” and the “/”symbol includes any and all combinations of one or more of theassociated listed items.

As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”,“comprising,”, “includes” and/or “including”, when used herein, specifythe presence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof. Therefore, the terminology usedherein is for the purpose of describing particular embodiments only andis not intended to be limiting of example embodiments.

It should also be noted that in some alternative implementations, thefunctions/acts noted may occur out of the order noted in the figures.For example, two figures shown in succession may in fact be executedsubstantially concurrently or may sometimes be executed in the reverseorder, depending upon the functionality/acts involved.

Hereinafter, example embodiments of the present invention will bedescribed in detail.

Example embodiments of the present invention provide methods and systemsfor 3D animation which reduce the complexity of animation while alsoincreasing final quality. According to example embodiments, methods andsystems for 3D animation may be tailored for viewing by a particularaudience. For example, an ocular distance for a wide range of viewingaudiences may be taken into consideration during creation of theanimation such that stereo pairs of frames are optimized for a targetaudience (e.g., children or adults). According to example embodiments,methods and systems for 3D animation may employ creation of a singlecamera view with a subsequent stereo paired view created based on thesingle camera view, thereby producing a stereo pair of frames for 3Dviewing. Moreover, according to example embodiments, methods and systemsfor 3D animation may employ creation of a multi-rig camera view with asubsequent stereo paired views created based on the multi-rig cameraview and subsequent compositing of all views to produce an optimizedstereo pair of frames for 3D viewing

Turning first to FIG. 1, according to an example embodiment of thepresent invention, a method 100 for 3D animation includes determiningand/or setting up an inter-axial distance and/or multi-rig spacing atblock 101. An ocular distance may be a measure corresponding to theseparation between two eyes of a human. For example, a baseline oculardistance may be 2.0 for children of a target age group, while a baselineocular distance may be 2.5 for average adults. The inter-axial distanceis a measure of the virtual displacement between focal axes of a pair ofvirtual cameras arranged as a stereoscopic camera rig. The inter-axialdistance may be based upon a target audience's ocular distance, or somederivation thereof. The multi-rig spacing is a measure of the virtualdisplacement between two or more virtual stereoscopic camera rigs. Themulti-rig spacing may be based upon a depth or desired perceived depthof scenery to be rendered as a 3D animation for viewing by a targetaudience.

The method 100 may further include confirming a work set up at block102. The work set up may be a set of computer settings, defaults, and/orselections which have been pre-selected for a desired animation project.The confirming may include determining if the inter-axial distanceand/or multi-rig spacing is acceptable based on the computer settings,or if further adjustments may be necessary to produce a desired 3Deffect.

The method 100 may further include setting up a work set up based on theconfirmation at block 103. For example, if further adjustments areneeded based on the confirming, additional selections, computersettings, or other changes may be made to produce a desired 3D effect.

The method 100 further includes producing a mono animation at block 104.For example, producing may include rendering a plurality of computeranimation frames based on a desired or predetermined frame rate, theanimation frames comprised of a desired number of pixels or being of adesired resolution. The producing may further include pre-processing,post-processing, editing, deleting, audio-integration, or any othersuitable and/or necessary actions for producing a plurality of computeranimation frames based on a single virtual camera view.

The method 100 further includes creating a stereo pair of frames basedon the mono-animation. For example, creating may include using acomputer model of the mono animation to render frames of a left or rightperspective to the viewing angle of the mono animation's frames. Forexample, if the mono-animation includes a viewing angle of a right side(i.e., right eye), the creating includes creating accompanying left view(i.e., left eye) frames. If the mono-animation includes a viewing angleof a left side (i.e., left eye), the creating includes creatingaccompanying right view (i.e., right eye) frames. The left (or right)accompanying frames are produced taking into consideration the set upinter-axial distance for rendering of a precise viewing angle. In thismanner, an accompanying frame for each of the plurality of frames forthe mono animation is created, thereby producing a set of stereoscopicframes for producing a desired 3D effect when viewed.

The set of produced stereoscopic frames may be further edited,processed, altered, and/or otherwise manipulated according to anydesired final effect(s) through a system for 3D animation.

Hereinafter, a system for 3D animation is described with reference toFIG. 2.

The system 200 for 3D animation includes a computer apparatus 202. Thecomputer apparatus may be any suitable computer apparatus including aserver system, multi-processor system, personal computer, networkedcomputing cluster, computing cloud, or any computer apparatus capable ofpracticing example embodiments.

The system 200 may further include a storage means 203 in communicationwith the computer apparatus 202. The storage means may be any suitablestorage means disposed to store information related to 3D animation. Thestorage means may include a single storage element, or a plurality ofstorage elements. The storage means may be used in combination with anystorage available on the computer apparatus 202, or may be omitted ifsuitable storage is available on the computer apparatus 202. The storagemeans 203 may include backup elements and/or recording elements. Therecording elements may be disposed and configured to produce usablecopies of any 3D animation produced at the computer apparatus. Theusable copies are copies of a 3D animation which are viewable at asuitable apparatus. For example, a suitable apparatus may include ameans for reading 3D animation data from a copy (DVD, double-reel film,recording media, etc). The suitable apparatus may also include means fordisplaying stereoscopic images/frames read from the 3D animation data.The displaying may include displaying left/right frames in parallel,successively, superimposed, or in any suitable fashion.

For example, if passive polarizing lenses are used for viewing thedisplayed frames, successive display of left/right frames polarizedopposite to one-another may be suitable. Alternatively, the frames maybe displayed side-by-side or otherwise separated and simultaneously.Other active techniques may be employed including “shuttered” glasses orlenses. Furthermore, additional passive techniques may be employedincluding red-cyan glasses or lenses. It is noted that exhaustivedescription of every possible combination of stereoscopic display isbeyond the scope of this disclosure, and is omitted herein for the sakeof brevity. The suitable apparatus may also include means for producingaudio from the 3D animation data.

The system 200 may further include a display means 204 in communicationwith the computer apparatus 202. The display means 204 may be anysuitable display, including a passive, active, or auto-stereoscopic 3Ddisplay (e.g., 3D-LCD, 3D-Plasma, 3D-computer monitor, lenticularscreened display, parallax barrier screened display) or a conventionaldisplay (e.g., computer monitor, LCD, plasma, etc).

Hereinafter, detailed description of methodologies for creating 3Danimation is provided.

Turning to FIG. 3, a method for 3D animation is depicted. The method 300includes creating a stereo storage folder at a computer apparatus atblock 301. The stereo storage folder is configured to store informationrelated to a stereoscopic pair of frames for a 3D animation sequence,and may include information related to inter-axial distance(s) for astereoscopic pair of frames. Upon creation of the stereo storage folder,a work set up may be confirmed. For example, a rendering of astereoscopic pair of frames may be viewed to confirm a desired 3Deffect. The pair may be viewed side-by-side on a display means,over-and-under, or in any suitable fashion.

Thereafter, virtual stereoscopic camera rig is set up through computersoftware at a computer apparatus at block 303. The virtual stereoscopiccamera rig is a first virtual camera in parallel with a main virtualcamera, separated at an inter-axial distance based on a desired oculardistance of a target viewing audience. The inter-axial distance may beset up previously to produce a desired 3D effect for the target viewingaudience. The virtual stereoscopic camera rig is a logicalrepresentation of a real stereoscopic camera within computer software ofa computer system. Through intelligent rendering, frames for a simulated3D object/movie scene are rendered from a perspective equivalent to areal stereoscopic camera in a substantially similar physical layout.Therefore, a main camera and a duplicate camera may produce a logicalrepresentation of a real stereo-camera pair. This logical representationmay be used to render stereoscopic frames. Furthermore, as describedabove, a mono-set of frames may be first produced, with the second setproduced after initial rendering of the animation of one portion offrames.

Thereafter, the virtual stereoscopic camera rig is initialized in thecomputer software of the computer apparatus at block 303. Initializationmay include activating a software object or initializing computerexecutable code segments which direct the computer apparatus toproduce/render frames from the virtual stereoscopic camera rig.

As mentioned above, a display means may be configured to display astereoscopic pair of images/frames to confirm work settings. Uponinitialization of both the main camera and the duplicate camera, it maybe desirable to re-confirm work settings using a display.

Thereafter, fine-tuning or adjustments to the camera pair may be made atblock 304. For example, settings for the virtual camera pair may beadjusted to create a desired 3D effect. The settings may include a focallength, depth-field, volume of depth, desired axial separation, distanceto object to be captured/recorded, distance to background area to becaptured/recorded, as well as any other suitable settings includingadjustment of inter-axial distance again.

As described above, a virtual stereoscopic camera rig may includelogical representations of at least two cameras. Hereinafter, virtualstereoscopic camera rigs are described in detail with reference to FIGS.4 and 5.

Turning to FIG. 4, a virtual stereoscopic camera rig is illustrated. Thevirtual stereoscopic camera rig may comprise a first virtual lens 401and a second virtual lens 402 separated by an inter-axial spacing oft_(C). The virtual stereoscopic camera rig may further include a firstvirtual film plate 410 arranged proximate the first virtual lens 401.The first virtual film plate 410 is a logical representation of a realfilm plate or optical sensor for capturing video. The virtualstereoscopic camera rig may further include a second virtual film plate420 arranged proximate the second virtual lens 402. The second virtualfilm plate 420 may be substantially similar to the first virtual filmplate 410, or may be configured to perform differently according to anydesired final 3D effect.

A recording plane of the virtual film plates is perpendicular to bothvirtual lens axes depicted. Furthermore, both virtual lens axes areparallel. It is apparent then that any images rendered from a distanced₀ may produce a form of parallax. However, this parallax may be reducedand/or minimized through use of horizontal image translation. Such isillustrated in FIG. 5.

Turning to FIG. 5, an enhanced virtual stereoscopic camera rig isillustrated. The virtual stereoscopic camera rig may comprise a firstvirtual lens 501 and a second virtual lens 502 separated by aninter-axial spacing of t_(C). The virtual stereoscopic camera rig mayfurther include a first virtual film plate 510 arranged proximate thefirst virtual lens 501. The first virtual film plate 510 is a logicalrepresentation of a real film plate or optical sensor for capturingvideo. The virtual stereoscopic camera rig may further include a secondvirtual film plate 520 arranged proximate the second virtual lens 502.The second virtual film plate 520 may be substantially similar to thefirst virtual film plate 510, or may be configured to performdifferently according to any desired final 3D effect.

A recording plane of the virtual film plates is perpendicular to bothvirtual lens axes depicted. Furthermore, both virtual lens axes areparallel. However, both virtual film plates are adjustable along thex-axis denoted by the measure t′_(C). The adjustment may be performedthrough computer software such that horizontal displacement of thevirtual film plates encourages horizontal image translation. Through theuse of horizontal image translation, any otherwise resulting keystoningeffects and parallax may be reduced by establishing a zero parallaxsetting.

By shifting the projection images through the use of the adjustablespacing of the virtual film plates, an observer has the ability tocontrol the relative “out-of-screen” or “into-screen” parallax ofobjects in the scene. Typically the overall parallax effect isdetermined by a combination of the pre-rendering viewpoint separationstep and post-rendering image shift step.

Overall parallax control may be achieved through a combination of bothinter-axial distance manipulation and horizontal image shift adjustment.Increasing inter-axial distance widens the parallax between left andright views for greater overall depth effect. Compensating horizontalimage shift values determine where the zero-parallax setting is locatedin a scene, and therefore serve to balance the out-of-screen andinto-screen depth effects.

According to example embodiments, a user may adjust both inter-axialdistance and horizontal image shift throughout the image synthesisprocess. The user would also be allowed to fine-tune both of theseparallax parameters for optimal stereoscopic depth effects.

Using the horizontal shift adjustments described above, an enhanced 3Dstereographic rendering may be produced by the virtual camera rigsadjusted at block 304 of method 300.

Thereafter, a minor sequence or short sequence of 3D animation may berendered to re-confirm a desired 3D effect. For example, a shortsequence including character motion, background motion, camera-panning,and/or other manipulation of portions of a virtual movie set and camerasmay be produced. Thereafter, the short sequence may be viewed and/orconfirmed.

For example, as illustrated in FIG. 6, a method for producing 3Danimation includes initializing a confirmed or previously adjustedvirtual camera rig at block 601. Thereafter, a sequence of animation maybe initiated at block 602 and captured using the initialized virtualcamera rig at block 603. The initiating and capturing may includerendering a plurality of computer animation frames based on a desired orpredetermined frame rate, the animation frames comprised of a desirednumber of pixels or being of a desired resolution. The initiating andcapturing may further include recording, through the virtual camera rig,the animation in a similar fashion as to real-life recording. Further,pre-processing, post-processing, editing, deleting, audio-integration,or any other suitable and/or necessary actions for producing a pluralityof computer animation frames may be performed at block 604.

Upon adjusting/confirming the captured animation, the method 600 mayrepeat as necessary to re-adjust settings and re-capture a desired 3Danimation.

Thereafter, animation curves may be produced, and a final sequence orportion of a 3D animation may be produced. The animation curves may beset up through confirmation of a plurality of scene settings. The scenesettings being logical representations of a physical set includingelements rendered by the computer apparatus. For example, there may be ascene layout, scene background, characters, and animation of each,including any other suitable elements. Each of these settings may bechecked/confirmed through short sequences as described above, or throughreal-time manipulation of the virtual stereo-camera pair describedabove. For example, the computer software may be configured to allow auser to control the panning/motion of the stereo-camera pair in relationto the scene, while at substantially the same time allowing foradjustment of any desired settings. Upon confirmation, the finalsequence or portion of the animation may be rendered, approved, andstored/edited.

This final sequence/animation may be stored in the stereo storage folderdescribed above, or in another storage portion such that final approval,interim approval, or disapproval may be decided. If approved, thesequence may be stored for later editing and/or inclusion in a complete3D animation. If interim/temporary approval is decided, the sequence maybe stored and/or edited while other portions/sequences of a complete 3Danimation are produced. If not approved, the entire sequence may bereproduced using different settings (described above).

Although termed “final” sequence or animation, it should be understoodthat the sequence may be further adjusted or edited using computersoftware/modeling to achieve a desired 3D effect.

For example, FIG. 7 depicts a method for 3D animation includinginitializing a virtual camera rig at block 701. Thereafter, scenesettings for a desired scene of a 3D animation may be adjusted/confirmedat block 702. Animation may be initiated at block 703 and captured usingthe initialized virtual camera rig at block 704. Upon capturing, thecaptured animation may be reviewed at block 705 and submitted to anapproval process at block 706. The approval process may include viewingof the captured 3D animation by a director or sterographic director ofthe 3D animation and approval, interim-approval, or final approval givenas described above. The approved 3D animation may then be stored forfurther editing or distribution at block 707. Furthermore, usinginformation garnered through the approval process, additional settingsmay be adjusted and the method 700 may repeat at block 701 or 702.

It should be understood that although techniques for producing 3Danimation have been described above which are somewhat similar to videocapture through real stereoscopic cameras, the adjustments described forthe exemplary virtual camera rigs provide for easier capture of 3Danimation as compared to conventional rendering techniques. Theadjustments for achieving a zero parallax setting are easily extensibleacross the 3D animation filmmaking process and a plurality ofpre-configured virtual camera rigs may be created and stored asdescribed above. It should also be appreciated that the reduction ofparallax and easy adjustment of virtual camera rigs also allow forrepetitious capture of different viewpoints of the same scenes in ananimation, thereby allowing for adjustments otherwise not available in areal world scenario. Additionally, as should be understood in the art ofstereoscopic video rendering, the depth of field and focal points for aplurality of background objects may introduce distortions in a finalstereographic scene which hinder an audience's ability to enjoy a “reallooking” or immersive viewing experience. However, example embodimentsfurther provide methods for 3D animation which reduce these distortionsthrough use of an exemplary virtual camera multi-rig.

Hereinafter, detailed description of methodologies for creating 3Danimation with virtual camera multi-rigs is provided.

Turning to FIG. 8, a method for 3D animation is depicted. The method 800includes creating a stereo storage folder at a computer apparatus atblock 801. The stereo storage folder is configured to store informationrelated to a plurality of related stereoscopic pairs of frames for a 3Danimation sequence, and may include information related to inter-axialdistance(s) and camera multi-rig separation for a plurality of relatedstereoscopic pairs of frames. The plurality of related stereoscopicpairs of frames are a set of at least two related pairs of stereoscopicframes of a scene for a 3D animation taken at different viewpoints, forexample, by multiple virtual stereoscopic cameras arranged in differingvirtual spatial relationships.

Upon creation of the stereo storage folder, a work set up may beconfirmed. For example, a rendering of a plurality of relatedstereoscopic pairs of frames may be viewed to confirm a desired 3Deffect. The pairs may be viewed side-by-side on a display means,over-and-under, or in any suitable fashion.

Thereafter, virtual stereoscopic camera multi-rig is set up throughcomputer software at a computer apparatus at block 303. The virtualstereoscopic camera multi-rig comprises, at least, a first virtualcamera in parallel with a second virtual camera, separated at aninter-axial distance based on a desired ocular distance of a targetviewing audience; and a third virtual camera in parallel with a fourthvirtual camera, separated at an inter-axial distance based on a desiredocular distance of a target viewing audience; wherein the first andsecond virtual cameras are separated from the third and fourth virtualcameras by the multi-rig spacing. The inter-axial distance may be set uppreviously to produce a desired 3D effect for the target viewingaudience and may be the same or different for both pairs of stereoscopiccamera. The virtual stereoscopic camera rigs are logical representationsof real stereoscopic cameras within computer software of a computersystem. Through intelligent rendering, frames for a simulated 3Dobject/movie scene are rendered from a perspective equivalent to sets ofreal stereoscopic cameras in a substantially similar physical layout.Therefore, the virtual camera multi-rig may produce a logicalrepresentation of a real multiple stereo-camera pair. This logicalrepresentation may be used to render a plurality of related stereoscopicframes. Furthermore, as described above, a mono-set of frames may befirst produced for each camera pair, with the second set produced afterinitial rendering of the animation of one portion of frames.

Thereafter, the virtual stereoscopic camera multi-rig is initialized inthe computer software of the computer apparatus at block 303.Initialization may include activating a software object or initializingcomputer executable code segments which direct the computer apparatus toproduce/render frames from the virtual stereoscopic camera multi-rig.

As mentioned above, a display means may be configured to displaystereoscopic pairs of images/frames to confirm work settings. Uponinitialization of the first, second, third and fourth virtual cameras,it may be desirable to re-confirm work settings using a display.

Thereafter, fine-tuning or adjustments to the camera pairs may be madeat block 304. For example, settings for each virtual camera pair may beadjusted to create a desired 3D effect. The settings may include a focallength, depth-field, volume of depth, desired axial separation, distanceto object to be captured/recorded, distance to background area to becaptured/recorded, as well as any other suitable settings includingadjustment of inter-axial distance again alongside the multi-rigspacing.

As described above, a virtual stereoscopic camera multi-rig may includelogical representations of at least four cameras. Hereinafter, virtualstereoscopic camera multi-rigs are described in detail with reference toFIG. 9.

Turning to FIG. 9, an enhanced virtual stereoscopic camera multi-rig isillustrated. The virtual stereoscopic camera multi-rig may comprise afirst virtual lens 901 and a second virtual lens 902 separated by aninter-axial spacing of t_(C). The virtual stereoscopic camera multi-rigmay further include a first virtual film plate 910 arranged proximatethe first virtual lens 901. The first virtual film plate 910 is alogical representation of a real film plate or optical sensor forcapturing video. The virtual stereoscopic camera multi-rig may furtherinclude a second virtual film plate 920 arranged proximate the secondvirtual lens 902. The second virtual film plate 920 may be substantiallysimilar to the first virtual film plate 910, or may be configured toperform differently according to any desired final 3D effect.

The virtual stereoscopic camera multi-rig may further comprise a thirdvirtual lens 903 and a fourth virtual lens 904 separated by aninter-axial spacing of t_(C2). The virtual stereoscopic camera multi-rigmay further include a third virtual film plate 930 arranged proximatethe third virtual lens 903. The third virtual film plate 930 is alogical representation of a real film plate or optical sensor forcapturing video. The virtual stereoscopic camera multi-rig may furtherinclude a fourth virtual film plate 940 arranged proximate the fourthvirtual lens 904. The fourth virtual film plate 940 may be substantiallysimilar to the first, second, and third virtual film plates 910, 920,and 930, or may be configured to perform differently according to anydesired final 3D effect.

A recording plane of each pair of the virtual film plates isperpendicular to both virtual lens axes depicted. Furthermore, bothvirtual lens axes of each camera pair are parallel. The recording planesof the pairs of virtual cameras are separated by a multi-rig distanced₃. Although particularly illustrated in a particular orientation, itshould be appreciated that the pairs of virtual cameras may beoverlapping, angled, shifted, or otherwise set up differently than theexample shown. More clearly, as the pairs of cameras are virtual, thereis no physical limitation as to their placement for recording.

Furthermore, both pairs of virtual film plates are adjustable along thex-axis denoted by the measure t′_(C) and t′_(C2). The adjustment may beperformed through computer software such that horizontal displacement ofeach of the virtual film plates encourages horizontal image translation.Through the use of horizontal image translation at each pair of virtualcameras, any otherwise resulting keystoning effects and parallax may bereduced by establishing a zero parallax setting.

By shifting the projection images through the use of the adjustablespacing of the virtual film plates, an observer has the ability tocontrol the relative “out-of-screen” or “into-screen” parallax ofobjects in the scene. Typically the overall parallax effect isdetermined by a combination of the pre-rendering viewpoint separationstep and post-rendering image shift step. Furthermore, throughadjustment of the multi-rig spacing, distortions due to depth of fielddifferences between foreground and background of a 3D animation may bereduced.

Therefore, overall parallax and distortion control may be achievedthrough a combination of inter-axial distance manipulation, horizontalimage shift adjustment, and multi-rig spacing for the entire multi-rigcamera. Increasing inter-axial distance widens the parallax between leftand right views for greater overall depth effect. Movement ordisplacement of the camera pairs offers differing viewpoints to reducedepth distortion effects. Further, compensating horizontal image shiftvalues across both pairs of cameras determines where an overallzero-parallax setting is located in a scene, and therefore serves tobalance the out-of-screen and into-screen depth effects entirely.

According to example embodiments, a user may adjust inter-axialdistance, multi-rig spacing, and horizontal image shift throughout theimage synthesis process. The user would also be allowed to fine-tune allthree of these parallax parameters for optimal stereoscopic deptheffects.

Using enhanced combinations of the horizontal shift adjustmentsdescribed above, an enhanced 3D stereographic rendering may be producedby the virtual camera rigs adjusted at block 804 of method 800.

Thereafter, a minor sequence or short sequence of 3D animation may berendered to re-confirm a desired 3D effect. For example, a shortsequence including character motion, background motion, camera-panning,and/or other manipulation of portions of a virtual movie set and camerasmay be produced. Thereafter, the short sequence may be viewed and/orconfirmed.

For example, as illustrated in FIG. 10, a method 1000 for producing 3Danimation includes initializing a confirmed or previously adjustedvirtual camera multi-rig at block 1001. Thereafter, a sequence ofanimation may be initiated at block 1002 and captured using theinitialized virtual camera multi-rig at block 1003. The initiating andcapturing may include rendering a plurality of computer animation framesbased on a desired or predetermined frame rate, the animation framescomprised of a desired number of pixels or being of a desiredresolution. The initiating and capturing may further include recording,through the virtual camera rig, the animation in a similar fashion as toreal-life recording. Further, pre-processing, post-processing, editing,deleting, audio-integration, or any other suitable and/or necessaryactions for producing a plurality of computer animation frames may beperformed at block 1004.

Upon adjusting/confirming the captured animation, the method 10 mayrepeat as necessary to re-adjust settings and re-capture a desired 3Danimation using the plurality of newly available adjustments of thevirtual camera multi-rig.

Thereafter, animation curves may be produced, and a final sequence orportion of a 3D animation may be produced. The animation curves may beset up through confirmation of a plurality of scene settings. The scenesettings being logical representations of a physical set includingelements rendered by the computer apparatus. For example, there may be ascene layout, scene background, characters, and animation of each,including any other suitable elements. Each of these settings may bechecked/confirmed through short sequences as described above, or throughreal-time manipulation of the virtual stereo-camera pairs describedabove. For example, the computer software may be configured to allow auser to control the panning/motion of each stereo-camera pair inrelation to the scene, while at substantially the same time allowing foradjustment of any desired settings. Upon confirmation, the finalsequence or portion of the animation may be rendered, approved, andstored/edited.

This final sequence/animation may be stored in the stereo storage folderdescribed above, or in another storage portion such that final approval,interim approval, or disapproval may be decided. If approved, thesequence may be stored for later editing and/or inclusion in a complete3D animation. If interim/temporary approval is decided, the sequence maybe stored and/or edited while other portions/sequences of a complete 3Danimation are produced. If not approved, the entire sequence may bereproduced using different settings.

Although termed “final” sequence or animation, it should be understoodthat the sequence may be further adjusted or edited using computersoftware/modeling to achieve a desired 3D effect.

For example, FIG. 11 depicts a method for 3D animation includinginitializing a virtual camera multi-rig at block 1101. Thereafter, scenesettings for a desired scene of a 3D animation may be adjusted/confirmedat block 1102. Animation may be initiated at block 1103 and capturedusing the initialized virtual camera multi-rig at block 1104. Uponcapturing, related stereo pairs of frames may be composited together toform single stereo pairs with reduced depth distortions due to varyingdepths of foreground and background characters, scenery, etc at block1105.

The composited animation may be reviewed at block 1106 and submitted toan approval process at block 1107. The approval process may includeviewing of the composited 3D animation by a director or sterographicdirector of the 3D animation and approval, interim-approval, or finalapproval given as described above. The approved 3D animation may then bestored for further editing or distribution at block 1108. Furthermore,using information garnered through the approval process, additionalsettings may be adjusted and the method 1100 may repeat at block 1101 or1102.

It should be appreciated that as a plurality of settings across multiplecameras may be adjusted, new artifacts and distortions may beintroduced. However, example embodiments provide a method for 3Danimation which significantly reduces these new artifacts.

For example, although parallax and keystoning effects may be reduced,“silverfishing” or misaligned textures on 3D objects may become apparentthrough use of a virtual camera multi-rig. According to the method 1200of FIG. 12, these misalignments may be corrected.

For example, the method 1200 includes examining a pair of stereo framesat block 1201. The method 1200 further includes determining alignmentissues between the frames at block 1202. The determining may includelocating misaligned textural features of objects in the examined frames.

Thereafter, the method 1200 includes isolating the misaligned portionson one frame of the pair of frames, for example, on the left or rightframe. Thereafter, the isolated portions of the one frame are copiedonto the opposite frame at block 1204. In this manner, the misalignedportions of texture are realigned resulting in a clear 3D effect absent“silverfishing.”

Furthermore, according to an example embodiment, the methodologiesdescribed hereinbefore may be implemented by a computer system orapparatus. For example, FIG. 13 illustrates a computer apparatus,according to an exemplary embodiment. Therefore, portions or theentirety of the methodologies described herein may be executed asinstructions in a processor 1302 of the computer system 1300. Thecomputer system 1300 includes memory 1301 for storage of instructionsand information, input device(s) 1303 for computer communication, anddisplay device(s) 1304. Thus, the present invention may be implemented,in software, for example, as any suitable computer program on a computersystem somewhat similar to computer system 1300. For example, a programin accordance with the present invention may be a computer programproduct causing a computer to execute the example methods describedherein.

Thus, example embodiments may include a computer program product 1400 asdepicted in FIG. 14 on a computer usable medium 1402 with computerprogram code logic 1404 containing instructions embodied in tangiblemedia as an article of manufacture. Exemplary articles of manufacturefor computer usable medium 1402 may include floppy diskettes, CD-ROMs,hard drives, universal serial bus (USB) flash drives, or any othercomputer-readable storage medium, wherein, when the computer programcode logic 1404 is loaded into and executed by a computer, the computerbecomes an apparatus for practicing the invention. Embodiments includecomputer program code logic 1404, for example, whether stored in astorage medium, loaded into and/or executed by a computer, ortransmitted over some transmission medium, such as over electricalwiring or cabling, through fiber optics, or via electromagneticradiation, wherein, when the computer program code logic 1404 is loadedinto and executed by a computer, the computer becomes an apparatus forpracticing the invention. When implemented on a general-purposemicroprocessor (e.g., 1302), the computer program code logic 1404segments configure the microprocessor to create specific logic circuits.

The computer-readable storage medium may be a built-in medium installedinside a computer main body or removable medium arranged so that it canbe separated from the computer main body.

Further, such programs, when recorded on computer-readable storagemedia, may be readily stored and distributed. The storage medium, as itis read by a computer, may enable the method(s) disclosed herein, inaccordance with an exemplary embodiment of the present invention.

Therefore, the methodologies and systems of example embodiments of thepresent invention can be implemented in hardware, software, firmware, ora combination thereof. Embodiments may be implemented in software orfirmware that is stored in a memory and that is executed by a suitableinstruction execution system. These systems may include any or acombination of the following technologies, which are all well known inthe art: a discrete logic circuit(s) having logic gates for implementinglogic functions upon data signals, an application specific integratedcircuit (ASIC) having appropriate combinational logic gates, aprogrammable gate array(s) (PGA), a field programmable gate array(FPGA), etc.

Any process descriptions or blocks in flow charts should be understoodas representing modules, segments, or portions of code which include oneor more executable instructions for implementing specific logicalfunctions or steps in the process, and alternate implementations areincluded within the scope of at least one example embodiment of thepresent invention in which functions may be executed out of order fromthat shown or discussed, including substantially concurrently or inreverse order, depending on the functionality involved, as would beunderstood by those reasonably skilled in the art of the presentinvention.

Any program which would implement functions or acts noted in thefigures, which comprise an ordered listing of executable instructionsfor implementing logical functions, can be embodied in anycomputer-readable medium for use by or in connection with an instructionexecution system, apparatus, or device, such as a computer-based system,processor-containing system, or other system that can fetch theinstructions from the instruction execution system, apparatus, or deviceand execute the instructions. In the context of this document, a“computer-readable medium” can be any means that can contain, store,communicate, propagate, or transport the program for use by or inconnection with the instruction execution system, apparatus, or device.The computer readable medium can be, for example but not limited to, anelectronic, magnetic, optical, electromagnetic, infrared, orsemiconductor system, apparatus, device, or propagation medium. Morespecific examples (a non-exhaustive list) of the computer-readablemedium would include the following: an electrical connection(electronic) having one or more wires, a portable computer diskette(magnetic), a random access memory (RAM) (electronic), a read-onlymemory (ROM) (electronic), an erasable programmable read-only memory(EPROM or Flash memory) (electronic), an optical fiber (optical), and aportable compact disc read-only memory (CDROM) (optical). Note that thecomputer-readable medium could even be paper or another suitable medium,upon which the program is printed, as the program can be electronicallycaptured, via for instance optical scanning of the paper or othermedium, then compiled, interpreted or otherwise processed in a suitablemanner if necessary, and then stored in a computer memory. In addition,the scope of the present invention includes embodying the functionalityof the preferred embodiments of the present invention in logic embodiedin hardware or software-configured mediums.

It should be emphasized that the above-described embodiments of thepresent invention, particularly, any detailed discussion of particularexamples, are merely possible examples of implementations, and are setforth for a clear understanding of the principles of the invention. Manyvariations and modifications may be made to the above-describedembodiment(s) of the invention without departing substantially from thespirit and principles of the invention. All such modifications andvariations are intended to be included herein within the scope of thisdisclosure and the present invention and protected by the followingclaims.

1. A system for three-dimensional (3D) animation, comprising: a meansfor storage; a computer apparatus in communication with the means forstorage; and a means for display in communication with the computerapparatus; wherein, the means for storage is disposed to store datarepresenting a 3D animation; the means for display is disposed todisplay a representation of the 3D animation; and the computer apparatusis configured to perform a method, comprising: setting an inter-axialdistance between logical representations of two cameras, the inter-axialdistance being configured to produce a desired 3D effect for a targetaudience; and creating a stereoscopic frame set representing the 3Danimation using the logical representations of the two cameras.
 2. Thesystem of claim 1, wherein creating the stereoscopic frame setcomprises: creating a 2D animation based on a first of the logicalrepresentations of the two cameras, the 2D animation including a firstplurality of frames representing a first viewing angle; and creating asecond plurality of frames based on a second of the logicalrepresentations of the two cameras representing a second viewing angle,the second plurality of frames being paired with the first plurality offrames to create the stereoscopic frame set representing the 3Danimation.
 3. The system of claim 1, wherein setting the inter-axialdistance comprises: logically separating renderings captured by thelogical representations of the two cameras by a distance equivalent tothe inter-axial distance.
 4. The system of claim 3, wherein theinter-axial distance is based on an average ocular distance of thetarget audience.
 5. The system of claim 1, wherein the inter-axialdistance is based on an average ocular distance of the target audience.6. The system of claim 1, wherein the means for storage is disposed tostore information related to the 3D animation.
 7. The system of claim 6,wherein the information related to the 3D animation includes aninter-axial distance associated with the stereoscopic frame set.
 8. Thesystem of claim 1, wherein the means for display is a passive 3D displayor an active 3D display.
 9. The system of claim 8, wherein the means fordisplay is a passive 3D display comprising: an auto-stereoscopic displaypanel; a lenticular screen panel; or a polarized display panel.
 10. Thesystem of claim 8, wherein the means for display is an active 3D displaycomprising: a LCD shuttering system.
 11. A method for 3D animation,comprising: setting an inter-axial distance between logicalrepresentations of two cameras at a computer system, the inter-axialdistance being configured to produce a desired 3D effect for a targetaudience; and creating a stereoscopic frame set representing the 3Danimation using the logical representations of the two cameras.
 12. Themethod of claim 11, wherein creating the stereoscopic frame setcomprises: creating a 2D animation based on a first of the logicalrepresentations of the two cameras, the 2D animation including a firstplurality of frames representing a first viewing angle; and creating asecond plurality of frames based on a second of the logicalrepresentations of the two cameras representing a second viewing angle,the second plurality of frames being paired with the first plurality offrames to create the stereoscopic frame set representing the 3Danimation.
 13. The method of claim 11, wherein setting the inter-axialdistance comprises: logically separating renderings captured by thelogical representations of the two cameras by a distance equivalent tothe inter-axial distance.
 14. The method of claim 13, wherein theinter-axial distance is based on an average ocular distance of thetarget audience.
 15. The system of claim 11, wherein the inter-axialdistance is based on an average ocular distance of the target audience.16. The system of claim 1, further comprising storing informationrelated to the 3D animation.
 17. The method of claim 16, wherein theinformation related to the 3D animation includes an inter-axial distanceassociated with the stereoscopic frame set.
 18. A computer programproduct for 3D animation, comprising a tangible storage medium readableby a computer processor and storing instructions thereon that, whenexecuted by the computer processor, direct the computer processor toperform a method, comprising: setting an inter-axial distance betweenlogical representations of two cameras at a computer system, theinter-axial distance being configured to produce a desired 3D effect fora target audience; and creating a stereoscopic frame set representingthe 3D animation using the logical representations of the two cameras.19. The computer program product of claim 18, wherein creating thestereoscopic frame set comprises: creating a 2D animation based on afirst of the logical representations of the two cameras, the 2Danimation including a first plurality of frames representing a firstviewing angle; and creating a second plurality of frames based on asecond of the logical representations of the two cameras representing asecond viewing angle, the second plurality of frames being paired withthe first plurality of frames to create the stereoscopic frame setrepresenting the 3D animation.
 20. The computer program product of claim19, wherein the inter-axial distance is based on an average oculardistance of the target audience.